﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QLKH.PopUp.Hoso;
using Library;

namespace QLKH.View.Hoso
{
    public partial class dsDangki : UserControl
    {
        DataView view = new DataView();
        public dsDangki()
        {
            InitializeComponent();
        }

        private void dsDangki_Load(object sender, EventArgs e)
        {
            clKhachhang clkh = new clKhachhang();
            DataTable dtkh = clkh.getdata(1);

            dataGrid.AutoGenerateColumns = false;
            dataGrid.DataSource = view = dtkh.DefaultView;
        }

        private void dataGrid_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            lbrowindex.Text = e.RowIndex.ToString();
        }

        public void AddCus(int id)
        {   // khai báo 1 hàm với 2 tham số đầu vào là str1, và str2 nó sẽ đưa dữ liệu vào 2 lable
            // bin du lieu
            clKhachhang clkh = new clKhachhang();
            DataTable dtkh = clkh.getdata(1);

            dataGrid.AutoGenerateColumns = false;
            dataGrid.DataSource = view = dtkh.DefaultView;
        }

        private void tool_add_Click(object sender, EventArgs e)
        {
            Int64 id = 0;
            popDangki usfritem = new popDangki(id);
            // ké thằng GetValue của form1 vào form2
            usfritem.MyGetData = new popDangki.GetAddCus(AddCus);
            usfritem.ShowDialog();
        }

        public void KiCus(int id)
        {   // khai báo 1 hàm với 2 tham số đầu vào là str1, và str2 nó sẽ đưa dữ liệu vào 2 lable
            // bin du lieu
            clKhachhang clkh = new clKhachhang();
            DataTable dtkh = clkh.getdata(1);

            dataGrid.AutoGenerateColumns = false;
            dataGrid.DataSource = view = dtkh.DefaultView;
        }

        private void tool_ki_Click(object sender, EventArgs e)
        {
            int row = int.Parse(lbrowindex.Text.Trim());
            if (row >= 0)
            {
                Int64 id = Int64.Parse(dataGrid.Rows[row].Cells["id"].Value.ToString());
                Int16 idqh = Int16.Parse(dataGrid.Rows[row].Cells["idQH"].Value.ToString());
                popKihopdong usfritem = new popKihopdong(id, idqh);
                // ké thằng GetValue của form1 vào form2
                usfritem.MyGetData = new popKihopdong.UpdateCus(KiCus);
                usfritem.ShowDialog();
            }
            else
                MessageBox.Show("Bạn chưa chọn khách hàng.");
        }

        public void SuaCus(int id)
        {   // khai báo 1 hàm với 2 tham số đầu vào là str1, và str2 nó sẽ đưa dữ liệu vào 2 lable
            // bin du lieu
            clKhachhang clkh = new clKhachhang();
            DataTable dtkh = clkh.getdata(1);

            dataGrid.AutoGenerateColumns = false;
            dataGrid.DataSource = view = dtkh.DefaultView;
        }

        private void tool_edit_Click(object sender, EventArgs e)
        {
            int row = int.Parse(lbrowindex.Text.Trim());
            if (row >= 0)
            {
                Int64 id = Int64.Parse(dataGrid.Rows[row].Cells["id"].Value.ToString());
                popSua usfritem = new popSua(id);
                // ké thằng GetValue của form1 vào form2
                usfritem.MyGetData = new popSua.EditCus(SuaCus);
                usfritem.ShowDialog();
            }
            else
                MessageBox.Show("Bạn chưa chọn khách hàng.");
        }

        private void tool_delete_Click(object sender, EventArgs e)
        {
            int row = int.Parse(lbrowindex.Text.Trim());
            if (row >= 0)
            {
                Int64 id = Int64.Parse(dataGrid.Rows[row].Cells["id"].Value.ToString());
                clKhachhang clkh = new clKhachhang();
                int outid = clkh.delete(id);
                if (outid > 0)
                {
                    DataTable dtkh = clkh.getdata(1);

                    dataGrid.AutoGenerateColumns = false;
                    dataGrid.DataSource = view = dtkh.DefaultView;
                }
                else
                    MessageBox.Show("Bạn không thể xóa được.");
            }
            else
                MessageBox.Show("Bạn chưa chọn khách hàng.");
        }

        private void tool_excel_Click(object sender, EventArgs e)
        {
            // xuat excel
        }

        public void Search(string txtsearch,Int16 idd)
        {   // khai báo 1 hàm với 2 tham số đầu vào là str1, và str2 nó sẽ đưa dữ liệu vào 2 lable
            // bin du lieu
            //MessageBox.Show(txtsearch + "-" + idd);
            string querySearch = "1=1";
            if (txtsearch.Length > 0)
                querySearch += " and (maCu LIKE '%" + txtsearch + "%')";
            if (idd > 0)
                querySearch += " and idDuong = " + idd;
            view.RowFilter = querySearch;
        }

        private void tool_search_Click(object sender, EventArgs e)
        {
            popSearch usfritem = new popSearch();
            // ké thằng GetValue của form1 vào form2
            usfritem.MyGetData = new popSearch.SearchCus(Search);
            usfritem.ShowDialog();
        }
    }
}
